English
Install Docker
We will install Docker as our container engine with IPv6 support; optionally we will install Nvidia drivers and "Nvidia Container Toolkit"; and we will configure SELinux to secure Docker.
Steps
- Run:
./scripts/docker_setup.sh admin. Adds the Docker repository, installs it, enables the service, and adds theadminuser to thedockergroup. - Open https://simpledns.plus/private-ipv6 and write down the
Combined/CIDand remove the last block. For examplefda6:80d8:cf96:a065::/64becomesfda6:80d8:cf96::/64. - Edit the script:
nano ./scripts/selinux_setup.sh. - Replace the
fixed-cidr-v6value with the CIDR you just generated through the website. Save and exit withCtrl + X, Y, Enter. - Run:
./scripts/selinux_setup.sh. Enables SELinux in Docker; restarts the Docker service for the changes to take effect; enables the flag that allows containers to manage the network and use the GPU; and installs the SELinux policies. These are required for some containers to be able to access Samba files and interact with WireGuard and for rsync to be able to back up the apps. - Optional: If you have a relatively modern Nvidia card, run:
./scripts/nvidia_setup.sh. Adds "RPM Fusion" and Nvidia repositories to install the driver and "Nvidia Container Toolkit" for Docker. It also registers the "Akmods" key in the Secure Boot chain. It is necessary to reboot and repeat the key enrollment process as we did with ZFS. After rebooting and logging in, don't forget to assumerootwithsudo -i. One optimization you can do is to modify the Nvidia Runtime configuration with:nano /etc/nvidia-container-runtime/config.tomland uncomment the lineno-cgroups = false. Press Ctrl + S to save and Ctrl + X to exit nano. - Run:
./scripts/create_arcane_folder.shto generate the container directory on the SSD. - Run:
openssl rand -hex 32and copy the generated key. - Edit the stack file:
nano ./files/arcane-stack.yml. - Replace
TZ=America/New_Yorkwith your system time zone. You can use this list as a reference: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. - Replace the XXX with the
uidandgidof the usermediacenter. You can useid mediacenterto get theuidandgid. - Replace the {key} with the one generated with the openssl command.
- Save and exit with
Ctrl + X, Y, Enter. - Run:
./scripts/run_arcane.sh. This runs an Arcane container and will listen on port3552. - Configure Arcane from the browser.
- Access Arcane through http://server.lan:3552.
- Login with username
arcaneand passwordarcane-admin. - Generate a random password and change the password. Bitwarden is recommended again for this.
- Navigate to "Settings" > "Notifications > Gotify" and enable it.
- "Server Host": "gotify.myhome.duckdns.org".
- "Application Token": "{token}". The {token} is a placeholder which will be replaced later in the guide.
- "Priority": 5.
- Click "Save" button at the top.
- Navigate to "Environments".
- Click "local".
- Navigate to "Automation" tab and enable "Vulnerability Scan".